using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Xna.Framework;
using System.Drawing;
using Microsoft.Xna.Framework.Input;

namespace Dracham.GUI.Controls
{
    public abstract class Control
    {
        public Control()
        {
            Controls.Add(this);
        }

        private Vector2 location;
        private Size size;
        private String name;
        private Boolean focused;

        #region properties 

        public Vector2 Location
        {
            get { return location; }
            set { location = value; }
        }

        public Size Size
        {
            get { return size; }
            set { size = value; }
        }

        public String Name
        {
            get { return name; }
            set { name = value; }
        }

        public Boolean Focused
        {
            get { return focused; }
            set { focused = value; }
        }

        #endregion

        #region generic events



        #endregion

        public abstract void Update(GameTime gameTime, MouseState mouseState, KeyboardState keyboardState);
    }
}
